Image processing device, image forming device, image processing method, image forming method, program, and computer readable recording medium on which the program is recorded

ABSTRACT

In case of transmitting a document file such as a PDF file to a printer without converting it into print data, a PC extracts from the document file to be printed information to be accessed when starting an analysis of the document file and transmits the information to the printer. The PC extracts a specified data from the document file and transmits it to the printer each time when the specified data is requested by the printer.

This application is based on Japanese Patent Application No.2002-335277, filed on Nov. 19, 2002, the contents of which are herebyincorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to an image processing device, an image formingdevice, an image processing method, an image forming method, a program,and a computer readable recording medium on which the program isrecorded. In particular, the invention relates to an image processingdevice, an image forming device, an image processing method, an imageforming method, a program, and a computer readable recording medium onwhich the program is recorded, f or transmitting and printing a documentfile, which includes objects that can be arranged in the file in anorder different from the order of pages as well as reference informationthat indicates the locations of the objects within the file, and whichdefines pages having a specified object, from the image processingdevice to the image forming device without converting the document fileinto print data.

2. Description of the Related Art

A personal computer (“PC”) is capable of transmitting a document filestored in, for example, a hard disk to a printer via a network such asLAN.

In this case, the document file is transmitted after being convertedinto print data described in a printer-recognizable PDL (PageDescription Language) such as PS (PostScript®) by means of a printerdriver typically installed in the PC.

On the other hand, PDF (Portable Document Format) files are widely usedbeing distributed over the Internet as a type of document file that canbe reproduced in the same format as the original document regardless ofthe types of hardware or application. The PDF file has objects that canbe arranged in a file in an order different from the order of pages andreference information that indicates the locations of the objects in thefile, and defines a page consisting of specified objects.

In the meanwhile, a PDF file may contain several hundreds of pages ofdata. When such a large PDF file is converted into print data by a PC,the load on the PC can be enormous due to the reason that it takes along time to convert, requires a complicated process, it takes a longtime to transmit the data as the data size increases as a result of theconversion, etc. In order to reduce the PC's load, printers that arecapable of directly printing a PDF file transmitted directly from a PCwithout the conversion (“PDF direct printing”) have been proposed.

However, although a printer can print from the top page of the printdata received in case of print data that are described in PDL such as PSas the data to be printed are arranged in the order of pages in a file,a printer cannot print until after the entire data is received in caseof a PDF file as the data to be printed can be arranged irrespective ofthe order of pages in the file. Consequently, such a printer sometimesends up being unable to print a PDF file as it cannot receive the entirefile due to the limitation of its memory capacity (usable capacity orvacant capacity).

In connection with this problem, devices that are capable ofreconstituting the contents of a PDF file in order to display the datain the order of receipt without having to receive the entire PDF filehave been proposed (e.g., U.S. Pat. No. 6,067,553).

However, in case of the device disclosed in the abovementioned issuedpatent, it still requires a complicated process for reconstituting a PDFfile on the transmission side, such as a PC, prior to the file transfer.Therefore, the technology in the above device has a problem that it doesnot reduce the load on the PC compared to converting PDF files intoprint data described in PDL such as PS.

Moreover, the abovementioned technology is basically a technology ofdisplaying on display units so that it does not take much considerationin printing on printers. More specifically, in case there is a need ofprinting a file in the order different from the order of pages in thefile, such as in a case when a special printing condition, for example,face up, is applied, where printing is executed from the last page tothe top page sequentially, the abovementioned technology cannot be used,thus making it difficult to be applied to the PDF direct printing.

Further, because PDF files are widely distributed, it is preferable tobe able to exchange them over the network without adding any changes orcorrection. Another problem with the abovementioned device is that arevised file becomes completely different from the original PDF file.Moreover, some of the PDF files are constituted in such a way that doesnot allow any changes from the security standpoint, thus making themimpossible to be reconstituted at all.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide an image processingdevice, an image forming device, an image processing method, an imageforming method, a program, and a computer readable recording medium onwhich the program is recorded, which are improved for solving theabovementioned problems.

A more specific object of the present invention is to provide an imageprocessing device, an image forming device, an image processing method,an image forming method, a program, and a computer readable recordingmedium on which the program is recorded that make it possible to printmore securely considering the printing condition even when documentfiles such as PDF files are transmitted without being converted to printdata to an image forming device having a memory unit with a limitedamount of usable capacity while simultaneously suppressing the load onthe transmission side.

According to an aspect of the invention, there is provided an imageprocessing device for transmitting a document file, which includesobjects that can be arranged in the file in an order different from theorder of pages as well as reference information that indicates thelocations of the objects within the file, and which defines pages havinga specified object, to an image forming device without converting thedocument file into print data, comprising: a first extractor forextracting from the document file to be printed information to beaccessed when starting an analysis of the document file; a firsttransmitter for transmitting the information extracted from the documentfile by the first extractor to the image forming device for printing thedocument file; a receiver for receiving a transmission requestconcerning a specific data among the document file from the imageforming device; a second extractor for extracting a data incorrespondence with the transmission request from the document file; anda second transmitter for transmitting the data extracted from thedocument file by the second extractor to the image forming device.

The invention makes it possible to print a document file such as a PDFfile safely even when the document file is transmitted to an imageforming device having a storage unit with a limited amount of usablecapacity without converting it into print data. It is also capable ofreducing the load of the transmission side as it is not necessary to doany changes such as reconstitution and conversion of a document file onthe document transmission side. It can also easily handle any specialprinting conditions such as booklet stitching or face up, which requireprinting a file in an order different from the order of pages in thefile, by determining the data, which is requested by the image formingdevice to be transmitted from the image processing device, withreference to the printing condition.

According to another aspect of the invention, there is provided an imageforming device for receiving and printing a document file, whichincludes objects that can be arranged in the file in an order differentfrom the order of pages as well as reference information that indicatesthe locations of the objects within the file, and which defines pageshaving a specified object, from an image processing device withoutconverting the document file into print data, comprising: a firstreceiver for receiving from the image processing device information,which is extracted from the document file to be printed and is to beaccessed when starting an analysis of the document file; a controllerfor determining a necessary data from the document file based on theresult of the analysis of the information received by the firstreceiver; a transmitter for transmitting a transmission requestconcerning the necessary data to the image processing device; a secondreceiver for receiving the data transmitted by the image processingdevice in correspondence with the transmission request; and a printingunit for printing based on the data received by the second receiver.

According to still another aspect of the invention, there is provided aprogram to be used in an image processing device for transmitting adocument file, which includes objects that can be arranged in the filein an order different from the order of pages as well as referenceinformation that indicates the locations of the objects within the file,and which defines pages having a specified object, to an image formingdevice without converting the document file into print data, the programcausing the image processing device to execute a process comprising thesteps of: 1) extracting from the document file to be printed informationto be accessed when starting an analysis of the document file; 2)transmitting the information extracted from the document file in step 1)to the image forming device for printing the document file; 3) receivinga transmission request concerning a specific data among the documentfile from the image forming device; 4) extracting a data incorrespondence with the transmission request from the document file; and5) transmitting the data extracted from the document file instep 4) tothe image forming device.

According to a further aspect of the invention, there is provided aprogram to be used in an image forming device for receiving and printinga document file, which includes objects that can be arranged in the filein an order different from the order of pages as well as referenceinformation that indicates the locations of the objects within the file,and which defines pages having a specified object, from an imageprocessing device without converting the document file into print data,the program causing the image forming device to execute a processcomprising the steps of: 1) receiving from the image processing deviceinformation, which is extracted from the document file to be printed andis to be accessed when starting an analysis of the document file; 2)determining a necessary data from the document file based on the resultof the analysis of the information received in step 1); 3) transmittinga transmission request concerning the necessary data to the imageprocessing device; 4) receiving the data transmitted by the imageprocessing device in correspondence with the transmission request; and5) printing based on the data received in step 4).

According to a still further aspect of the invention, there is providedan image processing method for transmitting a document file, whichincludes objects that can be arranged in the file in an order differentfrom the order of pages as well as reference information that indicatesthe locations of the objects within the file, and which defines pageshaving a specified object, to an image forming device without convertingthe document file into print data, comprising the steps of: 1)extracting from the document file to be printed information to beaccessed when starting an analysis of the document file; 2) transmittingthe information extracted from the document file in step 1) to the imageforming device for printing the document file; 3) receiving atransmission request concerning a specific data among the document filefrom the image forming device; 4) extracting a data in correspondencewith the transmission request from the document file; and 5)transmitting the data extracted from the document file in step 4) to theimage forming device.

According to a yet further aspect of the invention, there is provided animage forming method for receiving and printing a document file, whichincludes objects that can be arranged in the file in an order differentfrom the order of pages as well as reference information that indicatesthe locations of the objects within the file, and which defines pageshaving a specified object, from an image processing device withoutconverting the document file into print data, comprising the stepsof: 1) receiving from the image processing device information, which isextracted from the document file to be printed and is to be accessedwhen starting an analysis of the document file; 2) determining anecessary data from the document file based on the result of theanalysis of the information received in step 1); 3) transmitting atransmission request concerning the necessary data to the imageprocessing device; 4) receiving the data transmitted by the imageprocessing device in correspondence with the transmission request; and5) printing based on the data received in step 4).

The objects, characteristics and properties of this invention other thanthose set forth above will become apparent from the description givenherein below with reference to preferred embodiments illustrated in theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the constitution of a printing systemincluding PCs and a printer according to an embodiment of the presentinvention;

FIG. 2 is a block diagram showing the constitution of the PCs shown inFIG. 1;

FIG. 3 is a block diagram showing the constitution of the printer shownin FIG. 1;

FIG. 4 is a diagram for describing a standard PDF file;

FIG. 5 shows a sample of the PDF file;

FIG. 6 is a diagram for describing the procedure of analyzing the PDFfile;

FIG. 7 is a flowchart for describing the process conducted in the PCs;

FIG. 8 is a flowchart for describing the process conducted in theprinter;

FIG. 9 is a flowchart for describing the process conducted in theprinter continuing from FIG. 8;

FIG. 10 is a flowchart for describing the printing process shown in FIG.9;

FIG. 11 is a diagram for describing the procedure of analyzing the PDFfile consisting of multiple pages;

FIG. 12 is a diagram for describing the procedure of analyzing the PDFfile consisting of multiple pages;

FIG. 13 is a diagram showing an example of printing condition; and

FIG. 14 is a diagram for describing the printing method where thebooklet stitching is applied.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments of this invention will be described below with referenceto the accompanying drawings.

FIG. 1 is a block diagram showing the constitution of a printing systemincluding a PC and a printer according to an embodiment of the presentinvention. As shown in FIG. 1, the printing system is equipped with PCs100A and 100B having a function as an image processing device and aprinter 200 as an image forming device which are connected communicablywith each other via a network 300. The network 300 consists of a LANbased on standards such as Ethernet®, Token Ring, FDDI, etc., and a WANconsisting of LANs connected by a dedicated line.

The types and the number of equipment to be connected to the network arenot limited to those shown in FIG. 1. The printer 200 can be connecteddirectly with PC 100A or 100B (local connection) without going throughthe network 300.

FIG. 2 is a block diagram showing the constitution of the PC 100A or100B shown in FIG. 1. As shown in FIG. 2, the PC 100A or 100B contains aCPU 101 for controlling the entire device and executing variouscomputations, a ROM 102 for storing programs and data, a RAM 103 forstoring programs and data temporarily, a hard disk 104 as an externalstorage unit for storing various programs and data, a display unit 105such as a liquid crystal display for displaying various information, aninput unit 106 consisting of a keyboard, a mouse, etc., for enteringvarious instructions, and a network interface 107 such as a LAN card forconnecting to the network 300, all of which are interconnected via a bus108 for exchanging signals.

FIG. 3 is a block diagram showing the constitution of the printer 200shown in FIG. 1. As shown in FIG. 3, the printer 200 contains a CPU 201,a ROM 202, a RMA 203, an operating panel unit 204, a printing unit 205,and a network interface 206, all of which are interconnected by a bus207 for exchanging signals. Of the constituting elements of the printer200, those that have the identical functions as the constituting membersof the PCs 100A and 100B are not described here to avoid duplications.

The RAM 203 can store the data received from the PC temporarily. The ROM202 stores font data, which are the data concerning the fonts ofcharacters. The printer 200 can be equipped with a hard disk as anexternal storage unit for storing various programs and data. Theoperating panel unit 204 is used for various information displays andentering various instructions. The printing unit 205 prints various dataon a recording medium such as paper using a known image forming processsuch as an electronic photography type process.

The PCs 100A and 100B as well as the printer 200 can containconstitutional elements other than those described above, or may notinclude a portion of the abovementioned elements. A case of transmittingdata from the PC 100A to the printer 200 for printing will be describedbelow.

In the printing system shown in FIG. 1, two types of printing, namely,the normal printing and the PDF direct printing, are possible. Inexecuting the normal printing, a specific file is transmitted to theprinter 200 after being converted into print data described in PDL suchas PS by means of a printer driver installed in the hard disk 104 of PC100A. On the other hand, in executing the PDF direct printing, a PDFfile is transmitted from the PC 100A to the printer 200 without beingtransformed into print data according to a program (to be describedlater) installed in the hard disk 104.

The structure of a standard PDF file and the method of analyzing the PDFfile will be described below with reference to FIG. 4 through FIG. 6.FIG. 4 is a diagram for describing the constitution of a standard PDFfile, FIG. 5 is a diagram showing a sample of the PDF file, and FIG. 6is a diagram for describing the procedure of analyzing the PDF file.FIG. 4 through FIG. 6 are prepared using “PDF Reference Third EditionAdobe Portable Document Format, Version 1.4” (Adobe SystemsIncorporated) as a reference.

As can be seen from FIG. 4 and FIG. 5, a standard PDF file 500 consistsof a header 510, a body 520, a cross-reference table 530, and a trailer540.

The header 510 contains a comment that starts with %. From the header510 shown in FIG. 5, one can see that the file's format is PDF, and theversion (1.4 in this case) of the PDF specification.

The body 520 contains the objects that constitute the document (objects1 through 6 in FIG. 5). The objects are the individual elements thatconstitute the document including the document structure, pageinformation, font information, and color information. For example, thefirst object 1 is defined by the description from “10 obj” to “endobj”and other objects are also defined in a similar manner. Here, the firstnumeral and the second numeral in “10 obj” represent the ID number andthe generation number of an object. In this body 520, various kinds ofinformation such as file attributes, page attributes, characterinformation, graphic information, and image information are constitutedby combining minimum units called objects.

The cross-reference table 530 is reference information that indicatesthe position of the object within a file. In the cross-reference table530, the locations of various objects with specific ID numbers (1through 6 in FIG. 5) are shown by the byte counts (offset) from thefront of the file to the front of the objects. This makes it possible toaccess the objects lined up in the body 520 at random. Thecross-reference table 530 starts with a key word named “xref” in theactual file.

The trailer 540 is information to be accessed at the startup of the fileanalysis. More specifically, the position information of thecross-reference table 530 in the file and the ID number of an object (aroot object to be the root of the hierarchical structure) that needs tobe referenced first will be described in the trailer 540. The numberthat is indicated next to “startxref” is the number of bytes (offset)from the front of the file to the front of the cross-reference table530. The row that includes “root” shows the ID number of the rootobject. Also, the row that includes “size” shows the number of objectsexisting in the file including the first entry (the ID number of theobject is “0”) of the cross-reference table 530. The trailer 540 existsin the end of the file and starts with a row that includes a key wordnamed “trailer.”

As shown in FIG. 6, the device for analyzing a standard PDF fileanalyzes the trailer 540 that exists at the end of the file first,andthen analyzes the cross-reference table 530. Based on the informationobtained in these analyses, it can analyze the contents of the pagedescribed in the body 520. The object contains the ID number of anotherobject where the data that is required next is described. Consequently,by tracing the ID number of the object required next, the total analysisof the PDF file becomes possible. As the ID numbers of the objects thatare to be referenced are indicated, the objects need not be arranged inthe order of analyses in the body of the PDF file. Therefore, theobjects can be described in the body of the PDF file in an arbitraryorder and consequently be arranged in the file in an order differentfrom the order of pages.

Next, the process performed in the PC 100A will be described withreference to FIG. 7. The algorithm shown in the flowchart of FIG. 7 isstored as a program in a storage unit such as a hard disk 104 of the PC100A and executed by the CPU 101.

What is described below is that the normal printing where a printerdriver is used for the PDF file 500 is not executed but the PDF directprinting is executed to print the PDF file by means of the printer 200.

An icon for the application program file of the PDF direct printing isdisplayed on the desktop of the PC 100A. The user can specify theexecution of the PDF direct printing by activating the applicationprogram by dragging and dropping the PDF file 500 on the icon. Theexecution of the PDF direct printing can be specified by other means.

When the user specifies the execution of the PDF direct printing for thePDF file 500, the cross-reference table 530 and the trailer 540 will beextracted first from the PDF file 500 (S101).

The extraction of the cross-reference table 530 and the trailer 540 canbe done by means of text retrieval of the keyword in the PDF file 500.

The extracted cross-reference table 530 and the trailer 540 will betransmitted to the image forming device, e.g., the printer 200, whichwas specified by the user in specifying the execution of the PDF directprinting (S102).

In the steps S101 and S102, the extraction and transmission of both thecross-reference table 530 and the trailer 540 are executed. However, itis possible to extract and transmit the cross-reference table 530 afterextracting and transmitting the trailer 540 only. In this case, theextraction of the cross-reference table 530 can be done by using theoffset value of the cross-reference table 530 shown next to “startxref”in correspondence with the request for transmission from the printer200.

Next, a judgment is made as to whether a transmission request concerningthe specified data among the PDF file 500 is received from the printer200 (S103). The specific data here is the data (for example, a specificobject), which becomes necessary in sequence in correspondence with theprinting on the printer 200.

When the transmission request concerning a specific data is received(S103: Yes), the requested data is extracted from the PDF file 500(S104), and is transmitted to the printer 200 (S105). On the other hand,if the transmission request concerning the specific data is not received(S103: No), the system advances to the step S106.

As a method of transmitting the PDF file from the PC 100A to the printer200, it uses the method of establishing a session between the PC and theprinter, and transferring the specified PDF file by means of executingthe application program. Therefore, it will not burden the user withextra operations. However, it is also possible to realize the transferof the PDF file using the function of the OS (Operating Software).

The data requested to be transmitted (e.g., an object) is specified bythe number of bytes (offset) from the front of the file to the front ofthe data and the length of the data expressed in the number of bytes. Asa transmission protocol, various protocols such as HTTP and FTP can beused.

In the step S106, a judgment is made as to whether the entire PDF fileprinting is completed by the printer 200. The completion of the printingcan be judged by whether a printing completion notice is received fromthe printer 200.

If the printing of the PDF file is not completed (S106: No), the programreturns to the step S103 and the process of the step S103 through S106will be repeated. In other words, each time when a specific data isrequested by the printer 200, the PC 100A extracts the data requested bythe printer 200, and transmits the extracted data to the printer 200.When the printing of the entire PDF file is completed (S106: Yes), theexecution of the process shown in FIG. 7 will be terminated.

Next, the process conducted in the printer 200 will be described belowreferring to FIG. 8 through FIG. 10. The algorithm shown in theflowcharts of FIG. 8 through FIG. 10 is stored as a program in a storageunit such as a ROM 202 of the printer 200 and executed by the CPU 201.

What is described below is a case where the printer 200 receives a PDFfile from the PC 100A and executes the PDF direct printing of thereceived PDF file.

In order to describe the printing of a PDF file with multiple pages, aPDF file shown in FIG. 11 and FIG. 12 is used as a sample PDF file to beprinted. FIG. 11 and FIG. 12 are diagrams for describing the procedureof analyzing the PDF file consisting of multiple pages. In FIG. 11 andFIG. 12, the constituting elements that are identical to those in thePDF file shown in FIG. 4 through FIG. 6 are identified with theidentical numbers. The objects are identified by the ID numbers of theobjects.

First, the printer 200 receives the cross-reference table 530 and thetrailer 540 transmitted by PC 100A (S201).

Next, the received cross-reference table 530 and the trailer 540 areanalyzed (S202). It is also possible first to receive and analyze onlythe trailer 540.

The analysis of the trailer 540 should clarify the number of the objectsin the PDF file and the ID number (“1” in FIG. 11) of the object to bereferenced first. The analysis of the cross-reference table 530 shouldclarify the offsets of the objects 1 through 21 as well. This makes itpossible to access each object efficiently.

Next, the printing condition is checked (S203). The printing conditionin this embodiment means the attribute related to the order of printingthe pages. However, the printing condition may include other attributesrelated to printing.

FIG. 13 is a diagram showing an example of printing condition. Whenbooklet stitching is applied, the value of the “booklet stitching” isset ON. When the face up process, i.e., the process of printing insequence from the last page to the first page, is applied, the value ofthe “face up” is set ON; when the face down process, i.e., the processof printing in sequence from the first page to the last page, isapplied, the value of the “face up” is set OFF. When the N-in-1 process,i.e., the process of printing multiple pages (N pages) on a sheet ofpaper in a reduced size, the “N-in-1”is set 2 if it is 2-in-1, or 4 ifit is 4-in-1. If N-in-1 is not applied, the value of “N-in-1” is setto 1. If the collation process of printing the document per copy, thevalue of “collation” is set ON.

The printing condition is set through the operating panel unit 204 inthe printer 200 and is stored in the printer 200 in advance. However,the printing condition can also be specified when the user instructs theexecution of the PDF printing on the PC. In this case, the printingcondition is transmitted from the PC to the printer, for example,together with the cross-reference table 530 and the trailer 540.

Next, the PDF file is analyzed based on the printing condition and theanalysis results of the trailer 540 and the cross-reference table 530 todetermine the necessary data for conducting an appropriate printing, andthe transmission request for such necessary data is transmitted to thePC 100A (S204). The necessary data here can be an object or acombination of appropriate data such as multiple objects.

It then waits until the requested data is received from the PC 100A(S205: No). When the requested data is received (S205: Yes), the datawill be analyzed (S206).

More specifically, the object 1, which should be referenced first, isrequested to the PC 100A as the necessary data. It can be seen from theinformation of the object 1 to be referenced first, as shown in FIG. 11,that the entire page information that coordinates all pages is describedin the object 3. Next, the object 3 is requested to the PC 100A as thenecessary data. It can be seen from the information of the object 3shown in FIG. 12 that the page information that contains the pageattributes for pages 1 through 8 are described in the objects 5, 7, 9,11, 13, 15, 17, and 19 respectively. The specific contents of each pageare described in the objects 6, 8, 10, 12, 14, 16, 18, and 20respectively.

In the step S207, no intermediate language that can be internallyprocessed in the printer is generated after the analysis of the objectsthat are not the objects of page contents such as the objects 1 and 3.In the step in which the object 1 or 3 is analyzed, the preparation forone page of the PDF file (original file) is not completed as describedlater (S208: No), so that the program returns to the step S204.

A case in which the booklet stitching is applied in the printing of thePDF file shown in FIG. 11 and FIG. 12 is described here as an example.When the book let stitching is applied, the first sheet must be printedwith the contents of the two pages from the first page backward as wellas the two pages from the last page forward. More specifically, thefirst sheet must be printed with the contents of the pages 8 and 1 onthe front and the contents of the pages 2 and 7 on the back respectivelyas shown in FIG. 14. The numerals in the rectangles in FIG. 14 show thepage numbers.

Therefore, in the step S204, the object 19 concerning the page 8 isrequested as the necessary data to the PC 100A. When the object 19 isreceived (S205: Yes), the object 19 is analyzed (S206). As a result ofthe object 19, it is known that the specific contents of the page 8 aredescribed in the object 20. Therefore, the program goes back to the stepS204 again and the object 20 is requested as the necessary data to thePC 100A. When the object 20 is received (S205: Yes), it is known thatthe data of the page 8 to be printed is obtained (S206). Thus, theintermediate language for the data on the page 8 is generated (S207).

In the step S208, it is judged whether the preparation for one page ofthe PDF file is completed. For example, if the data for one pageconsists of multiple objects and includes the object not yet processed,it is judged that the preparation for one page is not completed (S208:No), the program returns to the step S204 and the processes for thesteps S204 through S207 are repeated. A judgment may be made in the stepS208 as to whether the preparation for multiple pages of the PDF file iscompleted depending on the allowance of the usable capacity of thememory in the printer 200.

In the PDF file shown in FIG. 11 and FIG. 12, the data for one pageconsists of an object containing the contents of one page. Therefore, ifthe intermediate language for the data of the page 8 is generated in thestep S207, it is judged that the preparation for one page of the PDFfile is completed (S208: Yes). Raster data in the bit map format isgenerated from the generated intermediate language (S209). The rasterdata thus generated is transmitted to the printing unit 205 (S210), andthe printing process is executed (S211).

When the printing process is executed as shown in FIG. 10, a judgment ismade first as to whether the output page, which is the entire data to beprinted on a single sheet of paper, is completed (S301). For example, ina general case where one page of the PDF file is to be printed on asheet of paper, it is judged that the output page is completed when theraster data for one page is generated (S301: Yes), and the output pageis printed on the paper (S302), and the program returns to the flowchartshown in FIGS. 8 and 9.

On the other hand, if the booklet stitching is to be applied to the PDFfile shown in FIG. 11 and FIG. 12, the pages 8 and 1 as well as thepages 2 and 7 must be printed on the first sheet, so that it is judgedthat the output page is not completed yet if only the raster data forthe page 8 has been generated (S301: No). In this case, the programreturns to the flowchart of FIGS. 8 and 9 without printing.

In the step S212 shown in FIG. 9, a judgment is made as to whether theprinting for the entire pages of the PDF file is completed. If theprinting of the entire pages of the PDF file is not completed (S212:No), the program returns to the step S204 and the process of the stepsS204 through S212 will be repeated.

Therefore, after the raster data is generated for the page 8 for the PDFfile shown in FIG. 11 and FIG. 12, the raster data are generated for thepages 1, 2 and 7 following the same sequence as described above (S209),and are transmitted to the printing unit (S210), following which theprinting process is executed (S211).

When the raster data are generated for all four pages, i.e., pages 8, 1,2 and 7, of the PDF file, which are to be printed all on a single sheetof paper, it is judged that the output page is completed (S301: Yes),and the output page is printed on the paper (S302), and the programreturns to the flow chart shown in FIGS. 8 and 9. If N-in-1 is appliedas the printing condition, it is judged that the output page iscompleted each time when the raster data for N pages are generated.

Next, in executing the printing on the second sheet, the process for thepages 6, 3, 4, and 5 of the PDF file is executed using the sameprocedure as described above, and the completed output page is printedon the sheet (S302). However, it is also possible to print whenever thedata to be printed on one side of a sheet are compiled.

When all the pages of the PDF file to be printed are completely printed(S212: Yes), the execution of the process shown in FIG. 8 through FIG.10 is terminated.

If the booklet stitching process is to be applied to the printing of aPDF file as described above, necessary data will be requested by theprinter to be transmitted from the PC in an order different from theorder of pages in the file. Also, when the face up process is applied tothe printing of a PDF file, the page data will be requested sequentiallyfrom the last page toward the first page of the file. If the face downprocess is applied, the page data will be requested sequentially in thesame order as the order of pages in the file. In other words, even inprinting the same PDF file, the order of printing pages is differentdepending on the printing condition. Thus, the data requested by theprinter to be transmitted from the PC is determined with reference tothe printing condition.

As a consequence, this embodiment enables the PC to extract a specifieddata from the document file and transmit it to the printer each timewhen the specified data is requested by the printer in case oftransmitting to the printer a document file such as a PDF file withoutconverting it into print data described in PDL such as PS.

Therefore, this embodiment makes it possible to print a document filesuch as a PDF file safely even when the document file is transmitted toa printer having a storage unit with a limited amount of usable capacitywithout converting it into print data. It is also capable of reducingthe load of the transmission side, i.e., the PC, as it is not necessaryto do any changes such as reconstitution and conversion of a documentfile on the document transmission side.

It can also easily handle any special printing conditions such asbooklet stitching or face up, which require printing a file in an orderdifferent from the order of pages in the file, by determining the data,which is requested by the printer to be transmitted from the PC, withreference to the printing condition.

It is obvious that this invention is not limited to the particularembodiments shown and described above but may be variously changed andmodified without departing from the technical concept of this invention.

For example, it is possible to use a computer such as a workstation or aserver instead of a PC as the device that works as an image processingdevice. It is also possible to use, in place of a printer, an imageforming device such as a facsimile machine, a copying machine, or an MFP(multi-function peripheral) that has a combination of their functions.

It is also possible to realize the means and method of various processesfor transmitting document files such as PDF files without convertinginto print data from the image processing device to the image formingdevice to be printed by a dedicated hardware circuit or a programmedcomputer. The program can be provided either by a computer readablerecording medium such as a flexible disk and a CD-ROM, or by beingsupplied on-line via a network such as the Internet. In this case, theprogram recorded on the computer readable recording medium is normallytransferred to and stored in a storage device such as a hard disk. Theprogram can also be provided as independent application software or canbe built into the software of the device as a part of its function.

1. An image data providing device, comprising: a data extractorconfigured to automatically extract, from a document file, an analysisportion of the document file in response to a user's instruction fordirect printing and configured to extract, from the document file, oneor more data portions corresponding to one or more data requests from animage printing device; wherein the analysis portion of the document fileis necessary for identifying the one or more data portions correspondingto one or more data requests; a transmitter configured to transmit theanalysis portion to the image printing device prior to receiving anyrequests from the image printing device, to initiate printing of thedocument file, and to transmit the one or more data portions extractedby the data extractor to the image printing device; and a receiverconfigured to receive the one or more data requests from the imageprinting device after the transmitter transmits the analysis portion tothe image printing device, wherein the data extractor and thetransmitter are configured to cooperate to extract and transmit to theimage printing device the one or more data portions corresponding to theone or more data requests from the image printing device received by thereceiver.
 2. The image data providing device of claim 1, wherein the oneor more data portions transmitted by the transmitter to the imageprinting device are not linearized.
 3. The image data providing deviceof claim 1, wherein the image data providing device is physicallyseparate from the image printing device, and wherein the receiver andthe transmitter are configured to communicate with the image printingdevice over a communications network, or wherein the receiver and thetransmitter are configured to communicate with the image printing deviceover a dedicated local connection.
 4. The image data providing device ofclaim 1, wherein the document file is a PDF file, and wherein the dataextractor is configured to extract a trailer of the PDF file as theanalysis portion.
 5. The image data providing device of claim 4, whereinthe data extractor is configured to also extract a cross reference tableof the PDF file and include the cross reference table in the analysisportion.
 6. The image data providing device of claim 1, wherein each ofthe one or more data requests from the image printing device includeslocation information, wherein the location information is information ofa location of the corresponding data within the document file.
 7. Theimage data providing device of claim 6, wherein the location informationis offset information from a front of the document file to a front ofthe corresponding data, and wherein each of the one or more datarequests further includes length information, wherein the lengthinformation indicates a size of the corresponding data in the documentfile.
 8. The image data providing device of claim 1, comprising acentral processing unit (CPU) configured to execute a computer program,which acts as at least part of the functions realized by the dataextractor, the transmitter and the receiver.